<?php
class Comentario{
	var $id_comentario;#` int(10) unsigned NOT NULL auto_increment,
	var $id_propietario;#` varchar(50) NOT NULL default '',
	var $tipo_propietario;
	var $usuario;#` varchar(50) NOT NULL,
	var $fecha;#` text,
	var $hora;#` time NOT NULL,
	var $descripcion;#` text,
	var $publico;#` tinyint(1) NOT NULL,


	function __construct()
	{	
		switch(func_num_args())
		{
			case 1:	if(trim(func_get_arg(0)) =="")return;
					$this->setId( func_get_arg( 0 ) );
					$this->cargar();
					break;
			/*id_propietario, descripcion, publico */
			case 4:	if(trim(func_get_arg(0)) =="")return;
					$this->setPropietario( func_get_arg( 0 ) );
					$this->setDescripcion( func_get_arg(1) );
					$this->setPublico( func_get_arg(2) );
					$this->setTipoPropietario( func_get_arg(3) );
					$this->agregar();
					break;
		}
	}
	
	function cargar(){
		$con=new Conexion();
		$con->ejecutar("select * from comentarios where id_comentario='".$this->getId()."'");
				
		$con->traerFilaPorNombre();
		
		$this->usuario= new Usuario($con->get("login_usuario"));
		$this->fecha= new Fecha($con->get("fecha"));
		$this->hora= new Hora($con->get("hora"));
		
		$this->setPropietario($con->get("id_propietario"));
		$this->setTipoPropietario($con->get("tipo_propietario"));
		$this->setDescripcion($con->get("descripcion"));
		$this->setPublico($con->get("publico"));
	}

	function insertar(){
		$con=new Conexion();
		
		#agregar al usuario
		$con->ejecutar("INSERT INTO comentarios VALUES (null,
				'".$this->usuario."','".$this->getTipoPropietario()."','".$this->getPropietario()."','".$this->fecha->get()."',
				'".$this->hora->get()."','".$this->getDescripcion()."','".$this->getPublico()."')");

		$con->ejecutar("select max(id_comentario) from comentarios");
		$this->setId($con->resultado(0,0));
	}
	
	function toObjeto(){
		$o = array(
			"id_comentario"=> $this->getId(),
			"usuario"=> $this->usuario->toObjeto(),
			"id_propietario"=> $this->getPropietario(),
			"fecha"=> $this->fecha->get(),
			"hora"=> $this->hora->get(),
			"descripcion"=> $this->getDescripcion(),
			"publico"=> $this->getPublico()
		);
		return $o;
	}
	
	function toVista(){
		$o = array(
			"id_comentario"=> $this->getId(),
			"usuario"=> $this->usuario->getNombres()." ".$this->usuario->getApellidos(),
			"id_propietario"=> $this->getPropietario(),
			"fecha"=> $this->fecha->toString(),
			"hora"=> $this->hora->toString(),
			"descripcion"=> $this->getDescripcion(),
			"publico"=> $this->getPublico()
		);
		return $o;
	}
	
	function toJson(){
		return json_encode($this->toObjeto());
	}
	function toHtml(){
		return "<div class='ccontenedor'>
					<div>
						<img class='cfoto' src='img/avatars/".$this->usuario->getFoto()."'>
					</div>
					<div class='ccomdatos'>
						<div class='ccomentario".$this->getPublico()."'>
								".$this->getDescripcion()."
						</div>
						<div class='cabajo".$this->getPublico()."'></div>		
						<div class='cdatos'>
							<span>".$this->usuario->getNombres()." ".$this->usuario->getApellidos()."</span> | ".$this->fecha->toString()." ".$this->hora->toString()."
						</div>
					</div>	
					<div style='clear:both'></div>
				</div>";
	}
	function agregar(){
		$ss=new Session();
		$this->usuario= $ss->getId();//"tioche");//trim($_POST['usuario']));-------------------------- cambiarlopor session
		$this->fecha= new Fecha();
		$this->hora= new Hora();
		$this->insertar();		
	}
	
	
	
	function eliminar(){}

	function setId($_x){$this->id_comentario=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);}
	function setTipoPropietario($_x){$this->tipo_propietario=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);}
	function setPropietario($_x){$this->id_propietario=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);}
	function setDescripcion($_x){$this->descripcion=(trim($_x)=="" || $_x=="null" || $_x==null) ?"" : trim($_x);}
	function setPublico($_x){$this->publico=$_x;}
	
	function getId(){return $this->id_comentario;}
	function getTipoPropietario(){return $this->tipo_propietario;}
	function getPropietario(){return $this->id_propietario;}
	function getDescripcion(){return $this->descripcion;}
	function getPublico(){return $this->publico;}
}
?>
